import server.server.Server;
import server.server.User;
import server.util.mod.ModBase;

public class PrivateChat implements ModBase {

	@Override
	public String listenStr() {
		return "/tell";
	}

	@Override
    public void exec(String[] args, Server server, User sender) {
        switch (args.length) {
            case 3:
                int hit = 0;
                for (User u : server.clientList) {
                    if (u.getName().equals(args[1])) {
                        server.sendMsgTo("来自用户【" + sender.getName() + "】的私信： " + args[2], u);
                        hit++;
                    }
                }
                if (hit > 0) {
                    server.sendMsgTo("【系统消息】 私信已经发送给了" + hit + "名用户", sender);
                } else {
                    server.sendMsgTo("【系统消息】 用户名不存在", sender);
                }
                break;
            case 4:
                if (args[1].equals("-u")) {
                    for (User u : server.clientList) {
                        if ((u.getUID() + "").equals(args[2])) {
                            server.sendMsgTo("来自用户【" + sender.getName() + "】的私信： " + args[3], u);
                            server.sendMsgTo("【系统消息】 私信发送成功", sender);
                            return;
                        }
                    }
                    server.sendMsgTo("【系统消息】 用户UID不存在", sender);
                    break;
                }
            default:
                server.sendMsgTo("【系统消息】 命令格式不正确！", sender);
                break;
        }
    }
    
    @Override
    public String helper() {
        return "与其他用户私聊\n/tell <用户名> <消息> : 向用户发送私信，同名用户会同时全部发送\n/tell -u <UID> <消息> : 向特定UID的用户发送私信";
    }
}